/*
 * exame_2010_11_junho_Q3.c
 *
 *  Created on: Jun 18, 2012
 *      Author: ubuntu
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char **argv) {

	int n = 0;
	int * numeros = NULL;

	if (argc < 2) {
		fprintf(stderr, "Usage %s <n>\n", argv[0]);
		exit(EXIT_FAILURE);
	}

	n = atoi(argv[1]);
	numeros = (int*) malloc(sizeof(int) * n);

	puts("Inicio leitura de números");
	int i = 0;
	for (i = 0; i < n; i++) {
		printf("Introduza numero [%d/%d]\n:",i+1,n);
		scanf("%d", &numeros[i]);
	}

	puts("Guardar numeros ordenados em ficheiro");

	int doNextLoop = 0;
	do {
		doNextLoop = 0;
		for (i = 0; i < n - 1; i++) {
			if (numeros[i] > numeros[i + 1]) {
				int swapAux = numeros[i];
				numeros[i] = numeros[i + 1];
				numeros[i + 1] = swapAux;
				doNextLoop = 1;
			}
		}
	} while (doNextLoop == 1);

	FILE * fp = fopen("output.txt", "w");
	for (i = 0; i < n - 1; i++) {
		fprintf(fp, "%d\n", numeros[i]);
	}

	puts("Fechar aplicacao");
	free(numeros);
}
